﻿/**
 * Peter
 * Created by: Peter Development Team
 *    http://peter.codeplex.com/
 * 
 * GNU General Public License version 2 (GPLv2)
 *    http://peter.codeplex.com/license
 *
 *  This code is provided on an AS IS basis, with no WARRANTIES,
 *  CONDITIONS or GUARANTEES of any kind.
 *  
 **/

using Peter.Common.MainMenu;

namespace Peter.Common
{
   /// <summary>
   /// A context menu item for peter.
   /// </summary>
   public class PeterContextMenuItem : ViewModelBase
   {
      private string m_Title;
      private bool m_IsVisible;
      private MainMenuIcon m_Icon;

      /// <summary>
      /// Gets or Sets the priority of this menu item.
      /// </summary>
      public int Priority { get; set; }

      /// <summary>
      /// Gets or Sets the icon for the given menu item.
      /// </summary>
      public MainMenuIcon Icon
      {
         get { return m_Icon; }
         set
         {
            m_Icon = value;
            this.OnPropertyChanged("Icon");
         }
      }

      /// <summary>
      /// Gets or Sets the title of the menu item.
      /// </summary>
      public string Title
      {
         get { return m_Title; }
         set
         {
            m_Title = value;
            this.OnPropertyChanged("Title");
         }
      }

      /// <summary>
      /// Gets or Sets if this item is visible or not.
      /// </summary>
      public bool IsVisible
      {
         get { return m_IsVisible; }
         set
         {
            m_IsVisible = value;
            this.OnPropertyChanged ("IsVisible");
         }
      }

      /// <summary>
      /// Gets or Sets the command of the menu item.
      /// </summary>
      public RelayCommand Command { get; set; }
   }
}
